﻿<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta><link href="__STYLE__" type="text/css" rel="stylesheet"></link><meta content="MSHTML 6.00.6000.16981" name="GENERATOR"></meta></head><body>
<p><strong>Работа с файлами и картинками</strong></p>
<p>В конфигурации реализован справочник <a href="v8:ОткрытьСсылку=e1cib/navigationpoint/Предприятие/Справочник.ХранимыеФайлы.Команда.ОткрытьСписок">ХранимыеФайлы</a>. В нем хранятся файлы в виде хранилища значений. В форме элемента реализовано помещение в базу данных файла с диска и, наоборот, помещение файла из базы данных на диск. Методика работы с файлами ориентирована на работу как в тонком клиенте, так и в веб-клиенте. Это определяет ее основные особенности. Манипуляции с файлами выполняются через временное хранилище. Получение файла из базы данных может выполняться и без временного хранилища, с использованием адреса.</p>
<p>Форма элемента справочника демонстрирует обычные (не расширенные) возможности работы с файлами.
<br>Форма поддерживает перетаскивание файла – картинку товара можно перетащить в окно браузера.
<br>С помощью метода ПоместитьФайлНаСервер выполняется запрос у пользователя имени файла и помещение выбранного пользователем файла во временное хранилище на сервере. Метод выдает адрес временного хранилища. Затем на сервере вызывается процедура модуля ПоместитьФайлОбъекта. Она преобразует данные формы в объект типа СправочникОбъект, извлекает файл из временного хранилища методом ПолучитьИзВременногоХранилища, помещает его в реквизит справочника, записывает элемент в базу данных и выполняет обратное преобразование в данные формы.<br>Для сохранения файла на диск с помощью метода ПолучитьНавигационнуюСсылку, выполняется получение адреса файла в информационной базе. Далее, методом ПолучитьФайлССервера вызывается запрос у пользователя места расположения и имени файла, считывание файла из базы и, собственно, запись файла на диск.</p>
<p>Форма списка справочника поддерживает перетаскиване файлов.</p>
<p>Команды формы списка справочника "Открыть файлы" и "Загрузить файлы" демонстрируют возможности, которые предоставляет расширение работы с файлами.
<br>Команда "Загрузить файлы" демонстрирует метод ПоместитьФайлыНаСервер, который позволяет загрузить несколько файлов с клиента на сервер. На сервере файлы размещаются во временном хранилище.</p>
<p>Команда "Скачать архивом" демонстрирует получение файлов без расширения и в виде архива с помощью метода ПолучитьФайлыССервера.
<br>Команда "Открыть файлы" демонстрирует метод ПолучитьФайлыССервера, который позволяет загрузить несколько файлов с сервера  на клиент, метод ЗапуститьПриложение, который запускает на клиенте приложение, ассоциированное с типом полученного файла, и метод ЗапроситьРазрешениеПользователя, который позволяет уменьшить количество, задаваемых пользователю, вопросов о разрешении взаимодействия с файловой системой клиента. Для работы с файлами на клиенте определяется каталог хранения файлов. Он может быть задан с помощью обработки "Настройки пользователя", либо будет запрошен при первом использовании.</p>
<p>В справочнике <a href="v8:ОткрытьСсылку=e1cib/navigationpoint/Закупки/Справочник.Товары.Команда.ОткрытьСписок">Товары</a> в реквизите ФайлКартинки хранится ссылка на элемент справочника, предоставляющий изображение товара. В форме справочника располагается поле, отображающее картинку. Выполняется получение адреса в информационной базе методом ПолучитьНавигационнуюСсылку. Полученный адрес устанавливается реквизиту формы, с которым связано поле картинки. Соответственно, в поле отображается картинка, получаемая системой по этому адресу.</p></body></html>